package com.cebbank.yyi.springbootapp.jingtang.test;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * @description:
 * @author: yyi
 * @date: 2024/8/23 10:51
 * @version: 1.0
 **/

@NoArgsConstructor
@Data
public class ResponseDTO {

    @JsonProperty("code")
    private Integer code;
    @JsonProperty("msg")
    private Object msg;
    @JsonProperty("data")
    private DataDTO data;

    @NoArgsConstructor
    @Data
    public static class DataDTO {
        @JsonProperty("listSearch")
        private List<ListSearchDTO> listSearch;
        @JsonProperty("page")
        private PageDTO page;

        @NoArgsConstructor
        @Data
        public static class PageDTO {
            @JsonProperty("records")
            private List<RecordsDTO> records;
            @JsonProperty("total")
            private Integer total;
            @JsonProperty("size")
            private Integer size;
            @JsonProperty("current")
            private Integer current;
            @JsonProperty("orders")
            private List<?> orders;
            @JsonProperty("hitCount")
            private Boolean hitCount;
            @JsonProperty("searchCount")
            private Boolean searchCount;
            @JsonProperty("pages")
            private Integer pages;

            @NoArgsConstructor
            @Data
            public static class RecordsDTO {
                @JsonProperty("id")
                private Integer id;
                @JsonProperty("fileName")
                private String fileName;
                @JsonProperty("fileLastId")
                private String fileLastId;
                @JsonProperty("filePath")
                private String filePath;
                @JsonProperty("fileUploadTip")
                private String fileUploadTip;
                @JsonProperty("originalFileId")
                private String originalFileId;
                @JsonProperty("pdfFileId")
                private Object pdfFileId;
                @JsonProperty("departmentId")
                private String departmentId;
                @JsonProperty("deptName")
                private String deptName;
                @JsonProperty("workingId")
                private String workingId;
                @JsonProperty("workingName")
                private Object workingName;
                @JsonProperty("productLine")
                private String productLine;
                @JsonProperty("regimePropertyId")
                private String regimePropertyId;
                @JsonProperty("fileNo")
                private String fileNo;
                @JsonProperty("dataForZNBMLX")
                private String dataForZNBMLX;
                @JsonProperty("dataForZYBMLX")
                private String dataForZYBMLX;
                @JsonProperty("fileType")
                private String fileType;
                @JsonProperty("docType")
                private Object docType;
                @JsonProperty("edition")
                private String edition;
                @JsonProperty("editionNo")
                private String editionNo;
                @JsonProperty("fileVersion")
                private String fileVersion;
                @JsonProperty("effectDate")
                private String effectDate;
                @JsonProperty("destroyFileId")
                private String destroyFileId;
                @JsonProperty("destroyFileName")
                private Object destroyFileName;
                @JsonProperty("releaseDate")
                private String releaseDate;
                @JsonProperty("discardDate")
                private Object discardDate;
                @JsonProperty("deleteList")
                private Object deleteList;
                @JsonProperty("simulationDraftId")
                private Object simulationDraftId;
                @JsonProperty("approveE")
                private Object approveE;
                @JsonProperty("approveDate")
                private Object approveDate;
                @JsonProperty("firstLevel")
                private String firstLevel;
                @JsonProperty("secrecyLevel")
                private String secrecyLevel;
                @JsonProperty("secrecyTerm")
                private String secrecyTerm;
                @JsonProperty("simulationDraft")
                private String simulationDraft;
                @JsonProperty("formulateDepartmentId")
                private Integer formulateDepartmentId;
                @JsonProperty("formulateDepName")
                private String formulateDepName;
                @JsonProperty("iscontolYear")
                private String iscontolYear;
                @JsonProperty("rulesId")
                private String rulesId;
                @JsonProperty("rules")
                private String rules;
                @JsonProperty("rulesNo")
                private String rulesNo;
                @JsonProperty("viewRange")
                private Object viewRange;
                @JsonProperty("viewPersonnel")
                private Object viewPersonnel;
                @JsonProperty("downloadRange")
                private Object downloadRange;
                @JsonProperty("downloadPersonnel")
                private Object downloadPersonnel;
                @JsonProperty("status")
                private Integer status;
                @JsonProperty("readStatus")
                private String readStatus;
                @JsonProperty("readStatusDesc")
                private String readStatusDesc;
                @JsonProperty("approveFlowId")
                private String approveFlowId;
                @JsonProperty("discardFlowId")
                private Object discardFlowId;
                @JsonProperty("workFlowApprove")
                private String workFlowApprove;
                @JsonProperty("workFlowDiscard")
                private String workFlowDiscard;
                @JsonProperty("unscramblePath")
                private Object unscramblePath;
                @JsonProperty("unscrambleCode")
                private Object unscrambleCode;
                @JsonProperty("processSetId")
                private String processSetId;
                @JsonProperty("unscrambleName")
                private Object unscrambleName;
                @JsonProperty("unscrambleText")
                private Object unscrambleText;
                @JsonProperty("delFlg")
                private Integer delFlg;
                @JsonProperty("uploader")
                private String uploader;
                @JsonProperty("insUserId")
                private Integer insUserId;
                @JsonProperty("insDate")
                private String insDate;
                @JsonProperty("updUserId")
                private Integer updUserId;
                @JsonProperty("updDate")
                private String updDate;
                @JsonProperty("dateTypeColor")
                private Integer dateTypeColor;
                @JsonProperty("tenantId")
                private Integer tenantId;
                @JsonProperty("menuType")
                private Integer menuType;
                @JsonProperty("submenuType")
                private String submenuType;
                @JsonProperty("professionPropertyId")
                private String professionPropertyId;
                @JsonProperty("viewProductionLineId")
                private Object viewProductionLineId;
                @JsonProperty("viewDepartmentId")
                private Object viewDepartmentId;
                @JsonProperty("suggOrQuestion")
                private Object suggOrQuestion;
                @JsonProperty("improveType")
                private Object improveType;
                @JsonProperty("uuId")
                private String uuId;
                @JsonProperty("versionUrl")
                private Object versionUrl;
                @JsonProperty("newFileType")
                private Object newFileType;
                @JsonProperty("versionType")
                private Object versionType;
                @JsonProperty("keywordList")
                private Object keywordList;
                @JsonProperty("relationInfos")
                private Object relationInfos;
                @JsonProperty("annexInfoList")
                private Object annexInfoList;
                @JsonProperty("versionList")
                private Object versionList;
                @JsonProperty("fileLastName")
                private Object fileLastName;
                @JsonProperty("processSetName")
                private Object processSetName;
                @JsonProperty("processSetStr")
                private Object processSetStr;
                @JsonProperty("regimePropertyName")
                private Object regimePropertyName;
                @JsonProperty("dateS")
                private Object dateS;
                @JsonProperty("dateE")
                private Object dateE;
                @JsonProperty("editionSerial")
                private String editionSerial;
                @JsonProperty("userName")
                private String userName;
                @JsonProperty("userDate")
                private Object userDate;
                @JsonProperty("sysDepts")
                private Object sysDepts;
                @JsonProperty("fileProblemList")
                private Object fileProblemList;
                @JsonProperty("approveType")
                private Object approveType;
                @JsonProperty("fileId")
                private Object fileId;
                @JsonProperty("statusName")
                private String statusName;
                @JsonProperty("remake")
                private Object remake;
                @JsonProperty("filennexInfo")
                private Object filennexInfo;
                @JsonProperty("fileAnnexName")
                private Object fileAnnexName;
                @JsonProperty("busiId")
                private Object busiId;
                @JsonProperty("examineUser")
                private Object examineUser;
                @JsonProperty("approvalUser")
                private Object approvalUser;
                @JsonProperty("fileSource")
                private Object fileSource;
                @JsonProperty("fileTypeValue")
                private Object fileTypeValue;
                @JsonProperty("rulesName")
                private Object rulesName;
                @JsonProperty("checkDtos")
                private Object checkDtos;
                @JsonProperty("abandonedInfos")
                private Object abandonedInfos;
                @JsonProperty("dueDate")
                private Object dueDate;
                @JsonProperty("dueDateDesc")
                private String dueDateDesc;
                @JsonProperty("fileTypeStr")
                private String fileTypeStr;
                @JsonProperty("professionName")
                private Object professionName;
                @JsonProperty("firstLevelStr")
                private Object firstLevelStr;
                @JsonProperty("secrecyLevelStr")
                private Object secrecyLevelStr;
                @JsonProperty("secrecyTermStr")
                private Object secrecyTermStr;
                @JsonProperty("submitDate")
                private String submitDate;
                @JsonProperty("auditDate")
                private String auditDate;
                @JsonProperty("preparedBy")
                private Object preparedBy;
                @JsonProperty("standardChineseDescription")
                private Object standardChineseDescription;
                @JsonProperty("standardNumber")
                private Object standardNumber;
                @JsonProperty("instituteCode")
                private Object instituteCode;
                @JsonProperty("active")
                private Object active;
                @JsonProperty("blockFlag")
                private Object blockFlag;
                @JsonProperty("mainBody")
                private Object mainBody;
                @JsonProperty("versionNo")
                private Object versionNo;
                @JsonProperty("chineseDesc")
                private Object chineseDesc;
                @JsonProperty("mainBodyVersion")
                private Object mainBodyVersion;
                @JsonProperty("docTitle")
                private String docTitle;
                @JsonProperty("professionalReview")
                private Object professionalReview;
                @JsonProperty("standardizInspection")
                private Object standardizInspection;
                @JsonProperty("preparedByStr")
                private Object preparedByStr;
                @JsonProperty("menu")
                private Object menu;
                @JsonProperty("collect")
                private Integer collect;
                @JsonProperty("flowApproveList")
                private Object flowApproveList;
                @JsonProperty("departmentIds")
                private Object departmentIds;
                @JsonProperty("flowDiscardList")
                private Object flowDiscardList;
                @JsonProperty("taskAuditUser")
                private Object taskAuditUser;
                @JsonProperty("taskNullifyUser")
                private Object taskNullifyUser;
                @JsonProperty("jumpUrl")
                private String jumpUrl;
                @JsonProperty("level")
                private Object level;
                @JsonProperty("preparedBy1")
                private Object preparedBy1;
                @JsonProperty("preparedUserInfo")
                private String preparedUserInfo;
                //private List<IssUserInfo> preparedUserInfo;
                @JsonProperty("issuer")
                private Object issuer;
                @JsonProperty("issuer1")
                private Object issuer1;
                @JsonProperty("issUserInfo")
                //private List<IssUserInfo> issUserInfo;
                private String issUserInfo;
                @JsonProperty("basis")
                private String basis;
                @JsonProperty("reviewer")
                private String reviewer;
                @JsonProperty("reviewerUserInfo")
                private String reviewerUserInfo;
                //private List<IssUserInfo> reviewerUserInfo;
                @JsonProperty("paperwork")
                private Object paperwork;
                @JsonProperty("paperworkUserInfo")
                private Object paperworkUserInfo;
                @JsonProperty("category")
                private Object category;
                @JsonProperty("responsibleDepartment")
                private Object responsibleDepartment;
                @JsonProperty("specialPlan")
                private Object specialPlan;
                @JsonProperty("admin")
                private Object admin;
                @JsonProperty("reviewer1")
                private Object reviewer1;
                @JsonProperty("issuer2")
                private Object issuer2;
                @JsonProperty("preparedBy2")
                private Object preparedBy2;
                @JsonProperty("submitFlowId")
                private Object submitFlowId;
                @JsonProperty("submitWorkFlowApprove")
                private Object submitWorkFlowApprove;
                @JsonProperty("flowSubmitList")
                private Object flowSubmitList;
                @JsonProperty("taskSubmitUser")
                private Object taskSubmitUser;
                @JsonProperty("rulesDtos")
                private Object rulesDtos;
                @JsonProperty("flagValue")
                private Object flagValue;
                @JsonProperty("flagName")
                private Object flagName;
                @JsonProperty("nextSubmitNodeKey")
                private Object nextSubmitNodeKey;
                @JsonProperty("nextUserInfos")
                private Object nextUserInfos;
                @JsonProperty("isPublish")
                private Boolean isPublish;
                @JsonProperty("viewPermissions")
                private Object viewPermissions;
                @JsonProperty("downloadPermissions")
                private Object downloadPermissions;
                @JsonProperty("dataForisCurle")
                private Object dataForisCurle;
                @JsonProperty("unUserfulResult")
                private Object unUserfulResult;
                @JsonProperty("solidDoc")
                private Object solidDoc;
                @JsonProperty("changeType")
                private Object changeType;
                @JsonProperty("isProductPermissions")
                private Object isProductPermissions;
                @JsonProperty("topCateId")
                private Object topCateId;
                @JsonProperty("topCateNameStr")
                private Object topCateNameStr;
                @JsonProperty("topCateName")
                private Object topCateName;
                @JsonProperty("dutyDepartmentId")
                private long dutyDepartmentId;
                @JsonProperty("dutyDepartmentName")
                private Object dutyDepartmentName;
                @JsonProperty("reviewChange")
                private String reviewChange;
                @JsonProperty("proReviewChange")
                private String proReviewChange;
                @JsonProperty("submitType")
                private Object submitType;
                @JsonProperty("reviseWorkFlowApprove")
                private String reviseWorkFlowApprove;
                @JsonProperty("reviseWorkFlowId")
                private String reviseWorkFlowId;
                @JsonProperty("nullifyPaperworks")
                private Object nullifyPaperworks;
                @JsonProperty("nullifyPaperwork")
                private String nullifyPaperwork;
                @JsonProperty("nullifyExplain")
                private String nullifyExplain;
                @JsonProperty("belongFileName")
                private Object belongFileName;
                @JsonProperty("belongFilePath")
                private Object belongFilePath;
                @JsonProperty("annexStr")
                private Object annexStr;
                @JsonProperty("mediumStr")
                private Object mediumStr;
                @JsonProperty("mediumName")
                private Object mediumName;
                @JsonProperty("mediumType")
                private Object mediumType;
                @JsonProperty("belongFileNo")
                private Object belongFileNo;
                @JsonProperty("instituteNameList")
                private Object instituteNameList;
                @JsonProperty("instituteNameStr")
                private Object instituteNameStr;
                @JsonProperty("instituteCodeStr")
                private Object instituteCodeStr;
                @JsonProperty("companyDirector")
                private Object companyDirector;
                @JsonProperty("companyDirectorUserInfo")
                private Object companyDirectorUserInfo;
                @JsonProperty("mediumLocation")
                private Object mediumLocation;
                @JsonProperty("archiveDateFrom")
                private Object archiveDateFrom;
                @JsonProperty("rulesMenutype")
                private Object rulesMenutype;
                @JsonProperty("isRulesCompany")
                private Object isRulesCompany;
                @JsonProperty("phone")
                private Object phone;
                @JsonProperty("isOwnDepartment")
                private Boolean isOwnDepartment;
                @JsonProperty("proReviewChange1")
                private Object proReviewChange1;
                @JsonProperty("changeTypeStr")
                private String changeTypeStr;
                @JsonProperty("pilotTypeStr")
                private Object pilotTypeStr;
                @JsonProperty("applyDeptNames")
                private Object applyDeptNames;
                @JsonProperty("applyDeptDto")
                private Object applyDeptDto;
                @JsonProperty("applyDeptDtoShow")
                private Object applyDeptDtoShow;
                @JsonProperty("rulesPath")
                private Object rulesPath;
                @JsonProperty("rulesUploadTip")
                private Object rulesUploadTip;
                @JsonProperty("isOwnUser")
                private Boolean isOwnUser;
                @JsonProperty("professionalReviewName")
                private Object professionalReviewName;
                @JsonProperty("docTypeName")
                private Object docTypeName;
                @JsonProperty("rulesJumpUrl")
                private Object rulesJumpUrl;
                @JsonProperty("fileChanged")
                private Boolean fileChanged;
                @JsonProperty("insDateStr")
                private String insDateStr;
                @JsonProperty("auditDateStr")
                private String auditDateStr;
                @JsonProperty("discardDateStr")
                private String discardDateStr;
                @JsonProperty("submitDateStr")
                private String submitDateStr;
                @JsonProperty("effectDateStr")
                private String effectDateStr;
                @JsonProperty("approveDateStr")
                private String approveDateStr;
                @JsonProperty("releaseDateStr")
                private String releaseDateStr;
                @JsonProperty("dueDateStr")
                private String dueDateStr;
            }
        }

        @NoArgsConstructor
        @Data
        public static class ListSearchDTO {
            @JsonProperty("value")
            private String value;
            @JsonProperty("label")
            private String label;
            @JsonProperty("sort")
            private Integer sort;
            @JsonProperty("count")
            private Integer count;
        }
    }
}
